package daily.jun0617;

import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class JCheckBoxTest {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> createAndShow());
    }

    public static void createAndShow() {
        //1.创建窗体
        JFrame jFrame = new JFrame("复选框按钮");
        //2.为窗体设置大小，位置等属性
        jFrame.setBounds(300, 400, 400, 300);
        jFrame.setDefaultCloseOperation(jFrame.EXIT_ON_CLOSE);
        jFrame.setVisible(true);
        //3.设置窗体布局
        jFrame.setLayout(new BorderLayout());

        //4.创建一个文本标签并设置字体
        JLabel textLabel = new JLabel("HelloWorld", JLabel.CENTER);
        textLabel.setFont(new Font("宋体", Font.PLAIN, 20));
        //将文本标签添加到窗体
        jFrame.add(textLabel,BorderLayout.PAGE_START);
        //5.创建JCheckBox按钮
        JCheckBox italicCheckBox = new JCheckBox("斜体");
        JCheckBox boldCheckBox = new JCheckBox("加粗");
        //6.创建自定义监听器
        ActionListener listener = new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                int mode = 0;
                if (boldCheckBox.isSelected()) {
                    mode += Font.BOLD;
                }
                if (italicCheckBox.isSelected()) {
                    mode += Font.ITALIC;
                }
                textLabel.setFont(new Font("宋体", mode, 20));
            }
        };
        //7.为JCheckBox按钮添加监听器
        italicCheckBox.addActionListener(listener);
        boldCheckBox.addActionListener(listener);
        //8.添加两个按钮到JPanel面板中
        JPanel panel = new JPanel();
        panel.add(italicCheckBox);
        panel.add(boldCheckBox);
        //9.添加JPanel面板到窗体中，位置在PAGE_END
        jFrame.add(panel,BorderLayout.PAGE_END);
    }
}
